<html>
<body>
<div id="body_main" style="border:1px">
<div id="cse" style="width:100%;"></div>
 
<!-- CONTENTS BEGIN -->

<h3>TOPPERS/JSP カーネル更新履歴</h3>

<dl class="changelog">

<dt><a name="R1.4.4.1">Release 1.4.4.1 の Release 1.4.4 との主な違い</a></dt>
<dd>
<ul>
<li>doc/user.txt, doc/xstormy16.txtの記述を修正
</li></ul>
</dd>

<dt><a name="R1.4.4">Release 1.4.4 の Release 1.4.3 との主な違い</a></dt>
<dd>
<ul>
<li>パッケージが NXT 対応版(nxt)，標準版(std)，参考実装版(full)の3種類に</li>
<li>TLCS900-TOSHIBA 依存部が更新されました
</li><li>m32c-renesas依存部が更新されました
</li><li>m16c-renesas 依存部が更新されました
</li><li>xstormy16 依存部が更新されました
</li><li>h8, sh1, sh2 依存部がそれぞれ更新されました
</li><li>LatticeMico32依存部が追加になりました
</li><li>ColdFire依存部が追加になりました
</li><li>cfg 作成コンパイラの推奨が MinGW へ変更になりました
</li><li>「空行があるdefファイルをgenrenameに与えると，出力に不適切なdefine/undefが出る件」が修正されました
</li><li>TNUM_PORT の上限が5に変更されました
</li><li>「cfgのMakefileでマクロCCが途中でg++に定義されている」件が修正されました
</li><li>make変数としてCONFIGDIRが追加になりました．無指定の場合は $(SRCDIR)/config が用いられ互換性は保たれます
</li><li>最近の g++ で cfg がビルドできない」件が修正されました
</li><li>ARM gcc 環境で _THUMBCODE_ ではなく __thumb__ を使うよう変更されました	 
</li></ul>
</dd>

<dt><a name="R1.4.3">Release 1.4.3 の Release 1.4.2 との主な違い</a></dt>
<dd>
<ul>

<li>ターゲットの追加</li>
<ul>
<li>東芝製TLCS900ファミリーを追加</li>
<li>YDKテクノロジーズ製AZ9360MB依存部（ARM依存部）を追加</li>
<li>ルネサス製m3029依存部（M16C依存部）を追加</li>
<li>アットマークテクノ製Suzaku依存部（Microblaze依存部）の追加</li>
<li>ルネサス製M3A-ZA36（MAPPI-II）依存部（M32R依存部）の追加</li>
<li>Application Corp製TK-850/SG2依存部（V850依存部）の追加</li>
</ul>

<li>共通部の修正・変更</li>
<ul>

<li>syslog機能</li>
<ul>
<li>
intが16ビット、ポインタが32ビットのプロセッサにおいて、syslog機能にお
いて失われたメッセージの数（"xx messages are lost."のxx）が正しく表示
されないバグを修正
</li>
</ul>

<li>サンプルプログラム</li>
<ul>
<li>if(MERCD(erce) &gt;= 0) { を if(ercd &gt;= 0) { に修正</li>
</ul>

<li>tool_config.h</li>
<ul>
<li>call_atexit()でgccの分岐最適化が効かないように記述を変更</li>
</ul>

</ul>

<li>ARM依存部</li>
<ul>
<li>cpu_support.S</li>
<ul>
<li>TCBのenatexをldrbでアクセスするように修正</li>
</ul>
</ul>

<li>M16C依存部</li>
<ul>
<li>hw_timer.h</li>
<ul><li>TO_USEC()マクロを修正</li></ul>

<li>割り込み制御レジスタ割り込み優先度変更ルーチンを修正</li>
<li>cpu_support.a30の修正</li>
</ul>

<li>V850依存部</li>
<ul>
<li>esレジスタが保存されない（上書きされる）不具合の解消</li>
<li>hw_serial.cで常に受信中を返す問題を修正</li>
<li>hw_serial.hにstatic変数が定義されている問題を修正</li>
</ul>

<li>M32C依存部</li>
<ul>
<li>m32c.txt</li>
<ul>
<li>割込みハンドラ番号（INHNO）の定義が記載されていないため、2.2節に追加</li>
<li>上記追加に伴い、CPU例外ハンドラ番号の定義についても記載を変更</li></ul>
<li>./oaks32/hw_serial.cfg</li>
  <ul><li>#if 0 → #if TNUM_PORT &gt;= 2</li></ul>
<li>cpu_support.S</li>
  <ul><li>enadspを使用していない問題に対応</li></ul>
<li>sample1.h</li>
  <ul><li>例外をtrapに割り当て</li></ul>
</ul>

<li>M32R依存部</li>
<ul>
<li>cpu_support.S</li>

<ul>
<li>タスク例外起動判定に、runtskとschedtskの比較を追加</li>
<li>enadspを使用していない問題に対応</li>
</ul>

<li>m3a-2131のSDRAM初期化処理のバグを修正</li>
<li>m3a-2131g50のディレクトリ名をm3a_2131に変更</li>
<li>M32R共通のレジスタ定義をm32r.hとしてプロセッサ依存部に置く</li>
</ul>

<li>H8依存部</li>
<ul>
<li>様々な更新（詳細は付属ドキュメントで確認）</li>
</ul>

<li>H8S依存部</li>
<ul>
<li>様々な更新（詳細は付属ドキュメントで確認）</li>
</ul>

<li>Microblaze依存部</li>
<ul>
<li>ディスパッチ禁止中に割込みハンドラ内で例外要求が発生しても、例外ハ
ンドラが呼び出されない不具合を修正</li>
</ul>

<li>Windows依存部</li>
<ul>
<li>ディスパチ禁止中でも、割り込みの出口でディスパッチが発生する不具合を修正</li></ul>

</ul>
</dd>

<dt><a name="R1.4.2">Release 1.4.2 の Release 1.4.1 との主な違い</a></dt>
<dd>
<ul>
<li>M32C（Renesase社の開発環境）の追加</li>
<li>V850の追加</li>
<li>H8（Renesase社の開発環境）の追加</li>
<li>H8S（Renesase社の開発環境）の追加</li>
<li>MIPS3、POWERPC32、H8S（GNU開発環境）を参考実装に</li>
<li>xxx_unrename.h の define を _JSP_UNRENAME_H_ に修正</li>
<li>Makefile中のLANGマクロが、ロケール関連の環境変数と当たるため、
PROGRAM_LANGに名称変更</li>
<li>sil.hからkernel.hをインクルードするように変更</li>
<li>genoffsetでdwordディレクティブを追加</li>
<li>makedep : gcc-3.xに対応</li>
<li>syslogでlong型を出力するための %ld、%lx をサポート</li>
<li>H8サポートの大幅な修正</li>
</ul>
</dd>

<dt><a name="R1.4.1">Release 1.4.1 の Release 1.4 との主な違い</a></dt>
<dd>
<ul>
<li>細かいバグ修正（主にターゲット依存部）</li>
<li>SH2,M16C,SC33,PowerPC32,Nios2のサポート追加</li>
<li>H8Sのサポートを復活</li>
<li>SH1/CPUB（常盤商行）のサポートを削除</li>
<li>μITRON搭載SH1CPUボード（中央製作所）のサポートを追加</li>
</ul>
</dd>

<dt><a name="R1040">Release 1.4 の Release 1.3 との主な違い</a></dt>
<dd>
<ul>
<li>GNU開発環境に依存していた部分を分離し，
Green Hills Software社のソフトウェア開発環境のサポートを追加（SH3,ARMv4）</li>
<li>Xstormy16 と MIPS3（VR4131,VR5500）のサポートを追加</li>
<li>H8S、V850、i386のサポートを削除（準備ができ次第サポートの予定）</li>
<li>C++バインディングをサポート</li>
<li>トレースログを取るための機構の追加</li>
<li>システムインタフェースレイヤ（SIL）をサポート</li>
<li>デバイスドライバをITRONのデバイスドライバ設計ガイドライン準拠に</li>
<li>カーネルをライブラリ化し，サービスコール単位でリンクするように修正</li>
<li>システムログ機能を大幅に変更</li>
<li>シリアルインタフェースドライバを全面的に改訂</li>
<li>コンフィギュレータを全面的に改訂</li>
<li>ライセンス文言の変更</li>
<li>ファイル名の整理（JSPカーネル以外への展開を考慮）</li>
<li>その他，バグフィックスや細部の改良（多数）</li>
</ul>
</dd>

<dt><a name="R1030">Release 1.3 の Release 1.2 との主な違い</a></dt>
<dd>
<ul>
<li>M32R、MicroBlaze、TMS320C54x、i386、H8S（H8S/2350）のサポートを追加</li>
<li>H8にH8/3067Fのサポートを追加</li>
<li>コンフィギュレータを全面的に改訂</li>
<ul>
 <li>内部構造を大幅に変更</li>
 <li>ターゲット依存のエラーチェックが可能な仕組みに</li>
</ul>
<li>int型が16ビットのコンパイラに対応</li>
<li>データ型の変更</li>
<ul>
 <li>tnum_inhnoをIHNNOからUINTに</li>
 <li>tnum_excnoをEXCNOからUINTに</li>
</ul>
<li>その他の改良</li>
<ul>
 <li>SH1:標準ライブラリのmemcpyをリンクする場合としない場合の両方に対応</li>
 <li>H8プロセッサ依存部</li>
</ul>
<li>バグフィックス</li>
<ul>
 <li>待ち解除でエラーになった場合に副作用がある問題の修正</li>
 <li>SH1:割込み出口処理での割込みマスクの設定処理の追加</li>
 <li>SH1:初期化時の割込み／CPU例外ネストカウンタの値の修正</li>
</ul>
<li>ドキュメントの修正</li>
<li>利用条件の変更</li>
</ul>
</dd>


<dt><a name="R1020">Release 1.2 の Release 1.1 (patchlevel=1) との主な違い</a></dt>
<dd>
<ul>
<li>SH4、H8（H8/3048F）、ARM7TDMIのサポートを追加</li>
<li>V850のサポートを完全に（ターゲットシステムはRTE-V850E/MA1-CB）</li>
<li>コンフィギュレータを大幅に改良</li>
<ul>
 <li>静的APIのパラメータチェック機能を追加</li>
</ul>
<li>システムログ機能を全面的に改良</li>
<ul>
 <li>システムログへの情報の出力方法を変更</li>
</ul>
<li>タスク例外処理ルーチンの起動処理を整理</li>
<ul>
 <li>これに伴ってgenoffsetを拡張し、ビット位置の取り出しを可能に</li>
</ul>
<li>ターゲット毎のMakefileなどを生成するスクリプトを用意</li>
<ul>
 <li>MakefileとMakefile.configを整理</li>
</ul>
<li>SH3/4でPARTNER-Jに対応</li>
<li>サンプルプログラムの整理・改良</li>
<li>データ型の変更</li>
<ul>
 <li>SYSTIMをUINTからUWに変更</li>
 <li>tnum_inhnoをIDからIHNNOに</li>
 <li>tnum_excnoをIDからEXCNOに</li>
</ul>
<li>その他の改良</li>
<ul>
 <li>ディスパッチャで割込み発生後にreqflgをクリア</li>
 <li>rel_mpfでパラメータエラーのチェックをクリティカルセクション外に</li>
 <li>makedepの出力形式の補正</li>
 <li>シリアルドライバのエラーコードの修正</li>
 <li>カーネルの内部識別名のリネーム箇所の整理</li>
</ul>
<li>バグフィックス</li>
<ul>
 <li>タイムイベントヒープの管理アルゴリズム</li>
 <li>tsnd_dtqとtrcv_dtqのパラメータエラーのチェック</li>
 <li>SH3 プロセッサ依存部</li>
</ul>
<li>μITRON4.0仕様（Ver. 4.01.00）に対応</li>
<li>ドキュメントの修正</li>
<li>利用条件の変更</li>
</ul>
</dd>


<dt><a name="R1011">Release 1.1 (patchlevel=1) の Release 1.1 との主な違い</a></dt>
<dd>
<ul>
<li>バグフィックス</li>
<ul>
 <li>データキュー</li>
 <li>SH3プロセッサ依存部</li>
</ul>
<li>SH1のサポートを追加（by 宮城県産業技術総合センター）</li>
<li>SH3のターゲットシステムにSolution Engine MS7709ASE01を追加</li>
<li>Makefileを整理</li>
<li>割込み／CPU例外ハンドラのエントリルーチンの展開方法を変更</li>
<li>Cygwinのインストール方法に関する説明を追加（gnu_install.txt）</li>
<li>エラーコード生成マクロ（ERCD）の追加</li>
<li>ドキュメントの修正</li>
</ul>
</dd>


<dt><a name="R1010">Release 1.1 の Release 1.0 (patchlevel=1) との主な違い</a></dt>

<dd>
<ul>
<li>Windows上のシミュレーション環境の拡張・改善</li>
<ul>
 <li>デバイスエミュレーションサポートの追加</li>
 <li>デバイスエミュレーションサポートモジュールの追加</li>
 <ul>
  <li>デバイスマネージャ</li>
  <li>デバイスクライアント用VisualBASICコントロール</li>
 </ul>
 <li>一部改良とバグフィックス</li>
 <ul>
  <li>メッセージの変更（WM_USER → WM_APP）</li>
  <li>プロジェクトファイルの位置の変更</li>
 </ul>
</ul>
<li>V850のサポートコードを追加</li>
<li>cpu_defs.hとsys_defs.hに、ターゲット識別マクロの定義を含める</li>
<li>コンフィギュレータのエラーメッセージを日本語／英語選択可能に</li>
<li>コンフィギュレータのバグフィックス（固定長メモリプールの問題）</li>
<li>SH3のプロセッサ依存部のバグフィックスなど</li>
<li>sh3用のsample1.cを、ロードエラーでCPU例外が起こるように修正</li>
<li>Linux上のシミュレーション環境で、タスクからのリターンに対応</li>
<li>Makefile中のCFLAGSからマクロ定義を分離し、CDEFSとした．CDEFSは、
CPPにも渡すので、コンフィギュレーションファイル中で#ifdefが使える。
これを用いて、スタブ有り／無しの場合のファイルを一本化</li>
<li>CPUロック状態でタスク例外処理ルーチンからリターンした場合の仮対処
（μITRON4.0仕様自身に問題があり、仕様の再検討が必要）</li>
<li>GNU開発環境構築マニュアルを独立させる</li>
<li>コンパイラの警告メッセージを避けるようにソースを修正</li>
<li>ドキュメント、コメントの修正</li>
</ul>
</dd>


<dt><a name="R1001">Release 1.0 (patchlevel=1) の Release 1.0 との主な違い</a></dt>

<dd>
<ul>
<li>漢字コードをEUCに統一</li>
<li>各Makefile中で、makedepに渡すcppを$(CPP)に</li>
<li>各sample1.cで、"-"コマンドを"=" コマンドに（先頭のコメントにあわせ
る）</li>
<li>itron.hとkernel.hでCONFIGURATORマクロに対応するのをやめる</li>
<li>ext_tskのエラー処理を修正</li>
<li>Windows上のシミュレーション環境のバグフィックス</li>
<ul>
<li>タスク例外が動かないのを修正</li>
<li>シリアルエミュレータがスタックを壊すのを修正</li>
</ul>
<li>コンフィギュレータのエラーメッセージを英語に</li>
<li>debugout.hでDEBUG_ENABLEの#defineをやめる</li>
<li>ドキュメントの修正</li>
</ul>
</dd>

</dl>

<!-- CONTENTS END -->

</div>
</body>
</html>